package com.gt.web.srv.mapper;

import com.gt.web.srv.domain.RepairApplication;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

@Mapper
public interface RepairApplicationMapper {

    /**
     * 插入维修申请
     * @param application 维修申请实体
     * @return 影响行数
     */
    int insert(RepairApplication application);

    /**
     * 根据ID查询维修申请
     * @param repairId 维修ID
     * @return 维修申请实体
     */
    RepairApplication selectById(Long repairId);

    /**
     * 根据用户ID查询维修申请
     * @param userId 用户ID
     * @return 维修申请列表
     */
    List<RepairApplication> selectByUserId(Long userId);

    /**
     * 更新维修申请
     * @param application 维修申请实体
     * @return 影响行数
     */
    int update(RepairApplication application);

    /**
     * 更新状态和物流信息
     * @param repairId 维修ID
     * @param status 状态
     * @param trackingNumber 快递单号
     * @param updateBy 更新人
     * @return 影响行数
     */
    int updateStatusAndTracking(Long repairId, Integer status,
                                String trackingNumber, String updateBy);

    /**
     * 根据ID删除维修申请
     * @param repairId 维修ID
     * @return 影响行数
     */
    int deleteById(Long repairId);
}